.image-container {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.image-container .hover-image {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.image-container:hover .hover-image {
  opacity: 1;
}

.image-container .default-image {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}

.image-container:hover .default-image {
  opacity: 0;
}

.image-container .hover-button {
  position: absolute;
  bottom: 20px;
  left: 0;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.image-container:hover .hover-button {
  opacity: 1;
}